home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / xc1.arc / READ.ME next >
Encoding:
Text File  |  1986-07-20  |  4.5 KB  |  93 lines

  1. GENERAL
  2.  
  3.      These files represent extensive small changes to the files XC.C and 
  4. XC.EXE, which is a C source lister and cross-reference program which I have
  5. used intensively.  To get instructions, enter xc with no command line
  6. arguments.
  7.  
  8.      I hope that the command line is no longer sensitive to the position of
  9. the switches.  It accepts file output in either the form -o<filename> or the
  10. form -o <filename>.  The default extension for the input file is .c.  
  11.  
  12. TABS
  13.  
  14.      You can change the tab setting by a -t switch which has the form either
  15. -t<increment> or -t <increment>.  As compiled, the default is 3, which is a
  16. change in the 8 of the original version to match the default tab setting of
  17. BRIEF.  To change the default, change the constant TAB_DFLT at the beginning
  18. of XC.C.
  19.  
  20. INCLUDING FILES (-i and -in)
  21.  
  22.      I compiled the program under Lattice C, Version 3.0 for use with that
  23. compiler.  The compiler accepts an environment variable "INCLUDE=" to give
  24. paths for #include files, and has a variant file opening function fopene.
  25. fopene first looks in the default directory for its file.  If it doesn't
  26. find it there, it looks for an environment variable which is the same as
  27. the file extension.  If it finds one, it uses its paths as new directories
  28. to try.  I don't know whether this feature is implemented in the compiler;
  29. it may well be, but the documentation doesn't mention it.  If fopene still
  30. has not opened the file, it then looks for one specified environment
  31. variable, which is INCLUDE in our case, and uses its paths as new directories
  32. to try.  With the compiled version in this file, -i on the command line
  33. uses fopene to open include files.  If you want to include only files in the
  34. current directory, use -in on the command line.
  35.  
  36. PRINTER STRINGS
  37.  
  38.      There are four preprocessor printer variables, GEMIN10X, EPSONMX,
  39. EPSONFX and IDSPRISM.  Set only one of these to 1 to specify the compressed
  40. print initial and ending strings for the -c option.  The code which they 
  41. control is at the end of the "DEFINITIONS AND VARIABLES" section, just before
  42. the "MAIN PROGRAM" section.  The compiled version of this file has EPSONFX
  43. set to 1.  As compiled, this program sends the printer code for "Double
  44. strike compressed" at the start and code for "Emphasized pica" at the end.
  45.  
  46. LATTICE C, VERSION 3 notes
  47.  
  48.      I compiled XC under the small memory model, which allows 64K for data,
  49. stack and dynamic variables.  Since XC is quite a large module, I used it to
  50. check whether this was adequate space for its tables, which are dynamic.  It
  51. used only about 18K of the 64K available.  Based on that one measurement, I
  52. do not feel that it is worth while going to a small program, large data space
  53. model.
  54.  
  55.      For a long time, some versions of the program would hang up my computer
  56. rather than terminate, and other versions would not release their memory.  I
  57. think I corrected the problem by using the allmem and rstmem functions.
  58. Before I made this change, I found consistently bad results with the default
  59. compiler alignment.  When I used the -w compiler switch to align on word
  60. boundaries, many of these problems were cured.  While I have not tested
  61. default compilation since, I suggest that if you recompile, you use the -w
  62. switch.
  63.  
  64. OTHER COMPILERS
  65.  
  66.      As I read the documentation, Philip Hisley wrote XC.C in BDS C.  WHR
  67. converted it to Computer Innovations C-86 and did not leave any of the old
  68. code in.  He later converted it to Microsoft C, Ver. 1.04, which was the
  69. same as Lattice C at that time.  R.S. White apparently modified it for
  70. Lattice C, Version 2.0.  I have tried to keep the two earlier programs
  71. and to allow for other compilers by putting what I believe is all compiler
  72. specific code in a section near the beginning and at the end of the program.
  73. Use them by changing the preprocessor variables CIC86, LATTICE2 and LATTICE3
  74. which are near the beginning of the program.  Only one of these variables
  75. should be positive.
  76.  
  77.      I have made enough changes so that I may have hurt some code for earlier
  78. compilers.  In addition, the preprocessor switching logic may be faulty for 
  79. them.  Since I have neither Lattice C, Version 2 nor Computer 
  80. Innovations C-86 available, I can not test these versions.
  81.  
  82. DISCLAIMER
  83.  
  84.      I am not responsible for any harm this program causes anyone.
  85.  
  86. Lew Paper
  87. 2230 Midland Grove Road, Apt. 302
  88. Roseville, MN 55113
  89. (612) 636-6506
  90.  
  91. Lew can be found on Terrapin Station BBS, 612/623-0152 2400/1200.
  92. A BBS for programmers and other techies.
  93.